using System;
using System.Collections.Generic;
using MathematicallySafe.HeadCounter.Data.Models;

namespace MathematicallySafe.HeadCounter.Data
{
    public interface IHeadCounterService
    {
        Guild Guild { get; }
        RaidHistory RaidHistory { get; }
        LootTable LootTable { get; }
        Options Options { get; }
        UserOptions UserOptions { get; }

        void Create(Options options, UserOptions userOptions);
        void Load();
        void Save();

        bool IsDirty { get; }
        bool IsClean { get; }
        void SetDirty();
        void SetClean();
    }
}